package com.reguang.service;

import java.util.List;
import java.util.Set;

import com.reguang.pojo.SysMenuDO;
import com.reguang.pojo.TreeDO;
import com.reguang.utils.Tree;
/**
 * 
 * Title: SysMenuService
 *<p>Description: </p> 
 * @author 路汉腾    
 * 2020年2月1日 上午11:08:00
 */
public interface SysMenuService {

    /**
     * 
    * @Title: listMenuTree
    * @Description: 十大大苏打撒旦
    * @param userId 用户id 
    * @return 
    * @return List<Tree<SysMenuDO>>
     */
	List<Tree<SysMenuDO>> listMenuTree(String userId);
    /**
     * 
    * @Title: listPerms
    * @Description: (描述这个方法的作用)
    * @param userId
    * @return
    * @return Set<String>
     */
	Set<String> listPerms(String userId);
	/**
	 * 
	* @Title: selectListMenuInfo
	* @Description: 查询出所有的菜单信息
	* @return
	* @return List<SysMenuDO>
	 */
	List<SysMenuDO> selectListMenuInfo();
	/**
	* @Title: save
	* @Description: 保存新增菜单
	* @param menuDo
	* @return
	* @return int
	*/
	int saveMenuInfo(SysMenuDO menuDo);
	/**
	* @Title: removeMenu
	* @Description: (描述这个方法的作用)
	* @param menuDo
	* @return
	* @return int
	*/
	int removeMenu(SysMenuDO menuDo);
	/**
	* @Title: selectMenuInfo
	* @Description: (描述这个方法的作用)
	* @param id
	* @return
	* @return SysMenuDO
	*/
	SysMenuDO selectMenuInfo(String id);
	/**
	* @Title: editMenuInfo
	* @Description: (描述这个方法的作用)
	* @param menuDo
	* @return
	* @return int
	*/
	int editMenuInfo(SysMenuDO menuDo);
	/**
	* @Title: selectListTreeById
	* @Description: (描述这个方法的作用)
	* @param id
	* @return
	* @return List<Tree<SysMenuDO>>
	*/
	List<TreeDO> selectListTree();
	
	Integer [] selectRoleMenuRelation(Integer roleId);

}
